package com.dcy.znoa.controller.attendance.model.attRecord;

/**
 * @author pengyu
 */

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PunchModel {
    
    @NotNull
    Long operId;

    Long compId;//企业ID

    @NotNull
    Integer recordType;//打卡类型，1为上班，2为下班

    @NotNull
    Integer hitType;//打卡方式，1为手机，2为刷卡（设备打卡）

//    @NotNull
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date recordTime;//打卡时间
    /**
     * 打卡时间状态
     0 打卡正常
     1 有申请（不用打卡）
     8 未按时（上班时为迟到，下班时为早退）
     9 未打卡
     PS：请假、出差、外勤如不需要打卡的情况下在本表中不显示。
     出差和外勤需要打卡时在本表中为打卡异常
     设计成这样的目的在于:4个1加起来也没有8大；判断的标准是 0 为正常 1-4 为申请 8以上为异常
     */
    @NotNull
    Integer timeStatus;
    /**
     * 打卡地点状态
     0 打卡正常
     1 有申请（不用打卡）
     8 地点异常
     9 未打卡
     PS：请假、出差、外勤如不需要打卡的情况下在本表中不显示。
     出差和外勤需要打卡时在本表中为打卡异常
     */
    @NotNull
    Integer addStatus;

    @NotNull
    String address;//打卡地点

    @NotNull
    String longitude;//经度

    @NotNull
    String latitude;//维度
//    @NotNull
//    @DateTimeFormat(pattern = "yyyy-MM-dd")
    Date attTime;//班次时间

}
